package leetCode.offer06;

import java.util.ArrayList;
import java.util.Collections;

/**
 * 输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）
 */
public class Solution2 implements Solution{


    /**
     * 第二种是先思路，采用动态数组存储链表遍历的元素
     * 实现效率并不理想哈哈哈
     * @param head
     * @return
     */
    @Override
    public int[] reversePrint(ListNode head) {
        ArrayList<Integer> list = new ArrayList<>();
        ListNode cur = head;
        while (cur!=null){
            list.add(cur.val);
            cur = cur.next;
        }
        Collections.reverse(list);
        return list.stream().mapToInt(s->s).toArray();
    }

}
